import request from '../../utils/request'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userId: 0,
    showDialog: false,
    showVisitLimitDialog: false, // 新增：参观预约次数上限弹窗
    showDialogLimit: false, //探访预约
    roomTypeList:''
  },

  handleUnbind(e) {
    this.setData({
      showDialog: true
    });
  },
  // 关闭弹窗：重置状态
  onClose() {
    this.setData({
      showDialog: false,
    });
  },
  handleConfirm() {
    wx.showToast({
      title: '呼叫成功',
      icon: 'success',
      duration: 2000
    });
    this.onClose();
  },
  toIntroduction() {
    wx.navigateTo({
      url: '/pages/index/introduction/introduction',
    })
  },

  toBindFamily() {
    // 1. 读取本地缓存中的用户信息
    const userInfo = wx.getStorageSync('loginUserInfo');
    // 🌟 新增：未登录时弹出确认弹窗
    if (!userInfo || !userInfo.userId) {
      // 直接显示弹窗，移除 setTimeout
      wx.showModal({
        title: '提示',
        content: '您尚未登录，是否前往登录？',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/my/login/login'
            });
          }
        }
      });
      return;
    }
    wx.navigateTo({
      url: '/pages/logs/bdjr/ljbd/ljbd',
    })
  },

  toMyOreder() {
    // 1. 读取本地缓存中的用户信息
    const userInfo = wx.getStorageSync('loginUserInfo');
    // 🌟 新增：未登录时弹出确认弹窗
    if (!userInfo || !userInfo.userId) {
      // 直接显示弹窗，移除 setTimeout
      wx.showModal({
        title: '提示',
        content: '您尚未登录，是否前往登录？',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/my/login/login'
            });
          }
        }
      });
      return;
    }
    wx.navigateTo({
      url: '/pages/my/myOrder/myOrder?activeID=0',
    })
  },
  toVisit() {
    // 1. 读取本地缓存中的用户信息
    const userInfo = wx.getStorageSync('loginUserInfo');
    // 🌟 新增：未登录时弹出确认弹窗
    if (!userInfo || !userInfo.userId) {
      // 直接显示弹窗，移除 setTimeout
      wx.showModal({
        title: '提示',
        content: '您尚未登录，是否前往登录？',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/my/login/login'
            });
          }
        }
      });
      return;
    }
    // 判断当前用户当天“参观预约”次数是否已上限(3)
    request({
      url: '/commanage/yuyue/count/visit/' + this.data.userId,
      method: 'GET',
      success: (res) => {
        console.log("今天参观预约次数：", res.data.data);
        if (res.data.code === 200 && res.data.data < 3) {
          wx.navigateTo({
            url: '/pages/my/visitOrder/visitOrder',
          })
        } else {
          this.setData({
            showVisitLimitDialog: true
          });
        }
      }
    });
  },
  // 新增：参观预约上限弹窗的“知道了”按钮事件（关闭弹窗）
  visitLimitConfirm() {
    this.setData({
      showVisitLimitDialog: false
    });
  },

  toSeek() {
    // 1. 读取本地缓存中的用户信息
    const userInfo = wx.getStorageSync('loginUserInfo');
    // 🌟 新增：未登录时弹出确认弹窗
    if (!userInfo || !userInfo.userId) {
      // 直接显示弹窗，移除 setTimeout
      wx.showModal({
        title: '提示',
        content: '您尚未登录，是否前往登录？',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/my/login/login'
            });
          }
        }
      });
      return;
    }
    request({
      url: '/commanage/yuyue/count/seek/' + this.data.userId,
      method: 'GET',
      success: (res) => {
        console.log("今天探访预约次数：", res.data.data);
        if (res.data.code === 200 && res.data.data < 3) {
          wx.navigateTo({
            url: '/pages/index/seekOrder/seekOrder',
          })
        } else {
          this.setData({
            showDialogLimit: true
          });
        }
      }
    });
  },

  //点击知道了关闭弹窗
  limitConfirm() {
    this.setData({
      showDialogLimit: false,
    });
  },

  toBill() {
    // 1. 读取本地缓存中的用户信息
    const userInfo = wx.getStorageSync('loginUserInfo');
    // 🌟 新增：未登录时弹出确认弹窗
    if (!userInfo || !userInfo.userId) {
      // 直接显示弹窗，移除 setTimeout
      wx.showModal({
        title: '提示',
        content: '您尚未登录，是否前往登录？',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/my/login/login'
            });
          }
        }
      });
      return;
    }
    wx.navigateTo({
      url: '/pages/index/myBill/myBill',
    })
  },

  async getAllRoomTypeList() {
    try {
      const res = await request({
        url: '/system/roomtype/list',
        method: 'GET',
        data: {
          _t: new Date().getTime()
        },
        loadingText: '加载房型列表中...',
        errorText: '获取房型列表失败'
      });
  
      if (res.statusCode === 200) {
        console.log('全部房型列表数据：', res);
        // 先获取完整列表，再截取前3条
        const allRoomTypeList = Array.isArray(res.data.rows) ? res.data.rows : [];
        const firstThreeRoomTypes = allRoomTypeList.slice(0, 3); // 只取前3条
  
        this.setData({
          roomTypeList: firstThreeRoomTypes, // 存储前3条数据
          totalCount: allRoomTypeList.length // 可选：保留总条数用于展示
        }, () => {
          console.log('已获取前3条房型数据',this.data.roomTypeList);
        });
      }
    } catch (err) {
      console.error('获取房型列表异常：', err);
      wx.showToast({
        title: '网络异常，请稍后重试',
        icon: 'none',
        duration: 1500
      });
    }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const userInfo = wx.getStorageSync('loginUserInfo');
    console.log(userInfo.userId);
    this.setData({
      userId: userInfo.userId
    });
    this.getAllRoomTypeList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getAllRoomTypeList()  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})